home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / biz / dopus / WolleDOpus1_2.lha / wolledopus / dopus5 / modules / WolleCommands.dopus5
Text File  |  1997-10-28  |  5KB  |  165 lines

  1. /*
  2.  
  3. $VER: WolleCommands 0.99 (28.10.1997) © Marco Wollkopf
  4. E-Mail: Marco.Wollkopf@t-online.de
  5. Homepage: http://home.t-online.de/home/Marco.Wollkopf
  6.  
  7.  
  8. fügt neue interne Befehle zu DOpus hinzu
  9.  
  10. bitte nach DOpus5:Modules/ kopieren.
  11. benötigt mindestens DOpus 5.62+
  12.  
  13. =========================================================================================
  14.  
  15. SelectSame: Selektiert im Quellister Einträge, die im Quell- und Ziellister vorhanden sind.
  16.             Funktioniert nur im Quellister und nur wenn ein Quell- und ein Ziellister
  17.             vorhanden sind!
  18.             
  19.             Optionen: DIRS/S,FILES/S,ALL/S
  20.             
  21.             DIRS:  es werden nur Verzeichnisse verglichen
  22.             FILES: es werden nur Dateien verglichen
  23.             ALL:   alle Einträge werden verglichen, kann auch weggelassen werden
  24.             
  25.             
  26. toUpper:        Wandelt alle selektierten Datei- und Verzeichnisnamen im Quellister in
  27.                         Großbuchstaben. Der Befehl funktioniert nur im Quellister.
  28.                         
  29.                         --- Müssen Sonderzeichen (äöü...) umgewandelt werden funktioniert dieser
  30.                         Befehl nicht, die Datei landet im Nirvana!!! Bitte den erscheinenden
  31.                         Requester mit Auslassen oder Abbruch bestätigen. ---
  32.                         Es ist scheinbar aber kein Fehler in meinem Modul, da mit dem DOpus-Rename
  33.                         Befehl der gleiche Fehler auftritt.
  34.                         
  35. toLower:        Wandelt alle selektierten Datei- und Verzeichnisnamen im Quellister in
  36.                         Kleinbuchstaben. Der Befehl funktioniert nur im Quellister.
  37.                         
  38.                         --- Probleme mit Sonderzeichen siehe toUpper. ---
  39.                         
  40. =========================================================================================
  41.  
  42. */
  43.  
  44. parse arg portname function source dest arg1 arg2 arg3
  45. address value portname
  46. options results
  47.  
  48.  
  49. /* --- Initialise --- */
  50.  
  51. if function='init' then do
  52.     dopus command "SelectSame" program "WolleCommands" desc "'Selektiert gleiche Einträge'" 'source dest' template "DIRS/S,FILES/S,ALL/S"
  53.     dopus command "toUpper" program "WolleCommands" desc "'Einträge Großschreiben'" 'source'
  54.     dopus command "toLower" program "WolleCommands" desc "'Einträge Kleinschreiben'" 'source'
  55. exit
  56. end
  57.  
  58. /* ------------------------------ */
  59.  
  60.  
  61. /* --- SelectSame V1.0 --- */
  62.  
  63.  
  64. if function='SelectSame' then do
  65.  
  66. /* -- abfangen wenn kein quell oder kein ziel -- */
  67. if source = 0 | dest = 0 then do
  68.   dopus request "'Der Befehl SelectSame funktioniert nur wenn"||D2C(10)||"ein Quell- und ein Ziellister vorhanden sind."||D2C(10) D2C(10)||"Er funktioniert nicht wenn er aus dem Ziellister aufgerufen wird.'"
  69.   exit
  70. end
  71.  
  72. /* -- lister busy --*/
  73. lister set source busy on wait
  74. lister set dest busy on wait
  75.  
  76. /* -- argumente auswerten --*/
  77. if arg1 ~= "" then
  78.   select
  79.     when upper(strip(strip(arg1,'b',' '),'b','"')) = DIRS then ein = dirs
  80.     when upper(strip(strip(arg1,'b',' '),'b','"')) = FILES then ein = files
  81.     when upper(strip(strip(arg1,'b',' '),'b','"')) = ALL then ein = entries
  82.     otherwise ein = entries
  83.   end
  84. else ein = entries
  85.  
  86. /* -- quelle alles deselektieren -- */
  87. lister query source entries stem Files
  88. DO c=0 TO Files.count-1
  89.   lister select source '"'Files.c'"' OFF
  90. end
  91. lister refresh source full
  92.  
  93. /* -- quelle gleiches selektieren -- */
  94. lister query dest ein stem Files
  95. DO c=0 TO Files.count-1
  96.   lister select source '"'Files.c'"' ON
  97. end
  98. lister refresh source full
  99.  
  100. /* -- lister busy off --*/
  101. lister set source busy off
  102. lister set dest busy off    
  103.  
  104. /* -- request gefundene einträge -- */
  105. lister query source numselentries
  106. if result = 0 then
  107.   dopus request "'keine gleichen Einträge gefunden'"
  108. else
  109.   dopus request "'Es wurden "||result||" gleiche Einträge gefunden'"
  110. exit
  111. end
  112.  
  113. /* ------------------------------ */
  114.  
  115.  
  116. /* --- toUpper V0.98---*/
  117.  
  118. if function='toUpper' then do
  119.     if source = 0 THEN DO
  120.         DOPUS REQUEST "'es ist kein Quellister vorhanden'"
  121.         exit
  122.     END
  123.     lister query source selentries stem files.
  124.     lister query source path
  125.     pfad = result
  126.     lister set source busy on wait
  127.     do c=0 to files.count-1
  128.         files.c = translate(files.c,xrange('À','Ý'),xrange('à','ý'))
  129.         command wait rename '"'||pfad||files.c||'"' '"'||pfad||translate(files.c,xrange('A','Z'),xrange('a','z'))||'"'
  130.         lister select source '"'||files.c||'"' off
  131.         lister reload source '"'||files.c||'"'
  132.         lister refresh source
  133.     end
  134.     lister set busy off
  135.     lister refresh source
  136. exit
  137. end
  138.  
  139. /* ------------------------------ */    
  140.  
  141.  
  142. /* --- toLower V0.98--- */
  143.  
  144. if function='toLower' then do
  145.     if source = 0 THEN DO
  146.         DOPUS REQUEST "'es ist kein Quellister vorhanden'"
  147.         exit
  148.     END
  149.     lister query source selentries stem files.
  150.     lister query source path
  151.     pfad = result
  152.     lister set source busy on wait
  153.     do c=0 to files.count-1
  154.         files.c = translate(files.c,xrange('à','ý'),xrange('À','Ý'))
  155.         command wait rename '"'||pfad||files.c||'"' '"'||pfad||translate(files.c,xrange('a','z'),xrange('A','Z'))||'"'
  156.         lister select source '"'||files.c||'"' off
  157.         lister reload source '"'||files.c||'"'
  158.         lister refresh source
  159.     end
  160.     lister set busy off
  161.     lister refresh source
  162. exit
  163. end
  164.  
  165. /* ------------------------------ */